package ThreadBasic.file;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

/**
 * @author yyh
 * @create 2020-10-23 10:34
 */
public class TestFile {

    public static void main(String[] args) {
        int[] nums = new int[]{2,7,11,15,6};
        int[] ints = twoSum(nums, 9);
        System.out.println(ints);
    }
    public static String reverseLeftWords(String s, int n) {
        //第一种方法
//        StringBuffer sb = new StringBuffer();
//        String res = "";
//        for(int i = n; i < s.length(); i++){
//            res += s.charAt(i);
//        }
//
//        for(int j = 0; j<n; j++){
//            res += s.charAt(j);
//        }
//        return res;



        // 第二种方法
         StringBuffer sb = new StringBuffer();
         for(int i = n; i < s.length(); i++){
             char c = s.charAt(i);
             System.out.println(c);
             sb.append(c);
         }
         for(int j = 0; j < n; j++){
             sb.append(s.charAt(j));
         }
         return sb.toString();


//        简化第二种方法（取余数）
//         StringBuffer sb = new StringBuffer();
//         for(int i = 0; i < s.length(); i++){
//             sb.append(s.charAt(i % s.length()));
//         }
//          return sb.toString();

    }

    public static int[] twoSum(int[] nums, int target) {

        // 第二种方法
        Map<Integer,Integer> hashtable = new HashMap<>();
        for(int i = 0; i < nums.length; ++i){
            if(hashtable.containsKey(target - nums[i])){
                return new int[]{hashtable.get(target - nums[i]),i};
            }
            hashtable.put(nums[i],i);

        }
        return new int[0];






        //第一种方法
        // for(int i = 0; i < nums.length-1; i++){
        //     for(int j = i+1;j <= nums.length -1; j++){
        //         if(target == (nums[i] + nums[j])){
        //             return new int[]{i,j};
        //         }
        //     }
        // }
        // return new int[0];
    }
}
